function[Return] = getreturn (data,pos)
% 导入价格数据data以及交易仓位pos
% 交易信号的标志为多头>0,空头<0，清仓=0,存在双边交易
% 最后计算的是每次交易的利润，和总利润，不包括收益率的计算
% Yahoo data格式: 'Open';'High';'Low';'Close';'Volume';'Adj Close'
% 输入格式为 Return = getreturn(data,pos);
% 考虑到资本的真实性
% 这里的收益率公式是：r(i)=d(i)/c(i-1) R=prod(r)

%% 数据初始赋值

closep = data(:,4); %获取收盘价
r(1) = 0;


%% 使用逐日结算的方法进行收益率计算

for i=2:length(closep)
    if pos(i)==pos(i-1)   %%多头持仓、空头持仓以及无持仓
        r(i)=pos(i)*(closep(i)-closep(i-1))./closep(i-1);
    end
    if pos(i)~=0&&pos(i)~=pos(i-1)   %%多头做空、空头做多以及开仓
        r(i)=pos(i-1)*(closep(i)-closep(i-1))./closep(i-1);
    end
    if pos(i)==0&&pos(i-1)~=0  %%清仓结算
        r(i)=pos(i-1)*(closep(i)-closep(i-1))./closep(i-1);
    end
end

%% 查询第一笔交易价格，使其做成本


Return = cumprod(r+1)-1;


end